package cn.itcast.xml.jsoup;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.File;
import java.io.IOException;
import java.net.URL;

/*
    Document: 文档对象 代表内存中的 dom 树
							获取 Element 对象
								getElementById(String id): 根据 id 属性值获取唯一的 element 对象
								getElementsByTag(String tagName): 根据标签名称获取元素对象集合
								getElementsByAttribute(String key): 根据属性名称获取元素对象集合
								getElementsByAttributeValue(String key, String value): 根据对应的属性名和属性值获取元素对象集合
 */
public class JsoupDemo3 {
    public static void main(String[] args) throws IOException {
        //获取student.xml的path
        String path = JsoupDemo3.class.getClassLoader().getResource("student.xml").getPath();
        //解析xml文档,加载文档进内存,获取dom树-->Document
        Document document = Jsoup.parse(new File(path), "utf-8");

        //获取元素对象
        //获取所有 student 对象  getElementsByTag(String tagName): 根据标签名称获取元素对象集合
        Elements elements = document.getElementsByTag("student");
        System.out.println(elements);
        System.out.println("-------------");

        //获取名为 id 的元素 对象  getElementsByAttribute(String key): 根据属性名称获取元素对象集合
        Elements elements1 = document.getElementsByAttribute("id");
        System.out.println(elements1);
        System.out.println("-------------");

        //获取 number 属性值为 heima_0001 的元素对象   getElementsByAttributeValue(String key, String value): 根据对应的属性名和属性值获取元素对象集合
        Elements elements2 = document.getElementsByAttributeValue("number", "heima_0001");
        System.out.println(elements2);
        System.out.println("-------------");

        //获取 id 值为 i的元素 getElementById(String id): 根据 id 属性值获取唯一的 element 对象
        Element element = document.getElementById("1");
        System.out.println(element);

    }
}
